/**
 * 系统相关的 IPC 处理模块
 */
import { ipcMain, app, shell, clipboard } from 'electron'
// import { join } from 'path'
import os from 'os'

/**
 * 设置系统相关的 IPC 处理
 */
export function setupSystemIPC(): void {
  // 获取系统信息
  ipcMain.handle('get-system-info', () => {
    return {
      platform: process.platform,
      arch: process.arch,
      cpus: os.cpus(),
      memory: {
        total: os.totalmem(),
        free: os.freemem()
      },
      homedir: os.homedir(),
      hostname: os.hostname(),
      release: os.release(),
      userInfo: os.userInfo()
    }
  })

  // 打开外部链接
  ipcMain.on('open-external-link', (_, url) => {
    shell.openExternal(url)
  })

  // 打开文件夹
  ipcMain.on('open-folder', (_, path) => {
    shell.openPath(path)
  })

  // 打开应用程序目录
  ipcMain.on('open-app-path', () => {
    shell.openPath(app.getAppPath())
  })

  // 打开用户数据目录
  ipcMain.on('open-user-data', () => {
    shell.openPath(app.getPath('userData'))
  })

  // 复制到剪贴板
  ipcMain.on('copy-to-clipboard', (_, text) => {
    clipboard.writeText(text)
  })

  // 从剪贴板读取
  ipcMain.handle('read-from-clipboard', () => {
    return clipboard.readText()
  })

  // 获取应用路径
  ipcMain.handle('get-app-paths', () => {
    return {
      appPath: app.getAppPath(),
      userData: app.getPath('userData'),
      temp: app.getPath('temp'),
      logs: app.getPath('logs'),
      home: app.getPath('home'),
      documents: app.getPath('documents'),
      downloads: app.getPath('downloads'),
      desktop: app.getPath('desktop')
    }
  })
} 